popover: Emit ::closed once modality is cleared
authorBastien Nocera <hadess@hadess.net>
Thu, 6 Feb 2014 15:13:43 +0000 (16:13 +0100)
committerBastien Nocera <hadess@hadess.net>
Thu, 6 Feb 2014 15:13:43 +0000 (16:13 +0100)
Otherwise, calling gtk_widget_grab_focus() on a widget when the
popover send ::closed won't work.

gtk/gtkpopover.c

index 76b31d16cd2cf261256b525f65573e5f287adcd4..ced74dc4e4a18a8cea803067fa3296007b655daa 100644 (file)
@@ -295,13 +295,13 @@ gtk_popover_unmap (GtkWidget *widget)
   priv = GTK_POPOVER (widget)->priv;
   priv->button_pressed = FALSE;
 
-  g_signal_emit (widget, signals[CLOSED], 0);
-
   if (priv->modal)
     gtk_popover_apply_modality (GTK_POPOVER (widget), FALSE);
 
   gdk_window_hide (gtk_widget_get_window (widget));
   GTK_WIDGET_CLASS (gtk_popover_parent_class)->unmap (widget);
+
+  g_signal_emit (widget, signals[CLOSED], 0);
 }
 
 static void